# -*- coding: utf-8 -*-
"""
Created on Sat Sep 14 18:31:40 2019

@author: Administrator
"""

# 1003 我要通过

# 思路：存在三种判断为正确的模式，遍历，判断输入是否符合这些模式
# 方法一：使用正则表达式，问题：正则表达式不能统计个数，模式二中需要前后个数相同
# re.match(pattern, string)
# re.compile(正则表达式)

# 方法二：截取字符串，自己判断
# 第三个模式是一种推演，当前两种模式判断为正确时，其推演的模式正确


def test():
    
    num = int(input())
    repo = []
    result = []
    
    for i in range(num):
        input_str = str(input())
        
        if input_str == 'PAT':
            result.append('YES')
            repo.append('PAAT')
            continue
        elif match_second(input_str):
            result.append('YES')
            temp = derive(input_str)
            repo.append(temp)
            continue
        # 在repo中查找
        elif match_third(input_str,repo):
            result.append('YES')
            continue
        else:
            result.append('NO')
    
    for ele in result:
        print(ele)
        
def match_second(input_str):
    
    input_str = str(input_str)
        
    first_index = input_str.find('PAT')
    
    if input_str[0:first_index] == input_str[first_index+3:] == 'A' * first_index:
        return True
    return False

#match_second('PATA')
#match_second('APATA')  # True
#match_second('xPATx')  # False
    
def match_third(input_str, repo):
    for ele in repo:
        if input_str == ele:
            return True
    return False


def derive(input_str):
    
    base = '%sP%sAT%s%s'
    
    first = input_str.find('P')
    last = input_str.find('T')
    
    a = input_str[0:first]
    b = input_str[first+1:last]
    c = input_str[last+1:]
    
    return base % (a, b, c,a)

#print(derive('APATA'))

test()

# 解法2：APBTC  如果len(A)*len(B)=len(C)

def test2():
    